package com.lleice.service.service.sys;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lleice.service.entity.sys.SysUser;
import com.lleice.service.qo.other.BatchDeleteQo;
import com.lleice.service.qo.sys.UserListPageReq;
import com.lleice.service.qo.sys.UserReq;
import com.lleice.service.vo.sys.UserListPageVo;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author lizihao
 * @since 2020-11-18
 */
public interface ISysUserService extends IService<SysUser> {
	/**
	 * 获取用户分页
	 * @param page 分页体
	 * @param userListPageReq 请求体
	 * @return 用户分页信息
	 */
	Page<UserListPageVo> getUserListPage(IPage<UserListPageVo> page,UserListPageReq userListPageReq);
	/**
	 * 获取用户信息
	 * @param userId 用户id
	 * @return 用户信息
	 */
	UserListPageVo getUserInfo(Long userId);
	/**
	 * 保存或者更新用户
	 * @param userReq 请求体
	 * @throws Exception 异常
	 */
	void saveOrUpdateUser(UserReq userReq) throws Exception;
	/**
	 * 逻辑删除用户
	 * @param qo 请求体
	 */
	void delete(BatchDeleteQo qo);
}
